The present invention relates to a device configurable to exchange data with a digital computer across a Small Computer System Interface (SCSI) bus.
It is known to connect digital computers to peripheral devices which may be physically distinct from the digital computer or contained within a same casing as a motherboard of the digital computer. Such peripheral devices typically include direct-access storage devices such as disk drives from which data stored on the disk drives may be recovered in any order. Additionally peripheral devices include sequential access storage devices, typically magnetic tape data storage devices, in which data must be recovered sequentially.
Referring to FIG. 1 herein there is illustrated a conventional digital computer 100 having access to a data storage device 120. The digital computer 100 and data storage device 120 are typically configured to exchange data across a cable connection 110. A conventional means for interfacing a computing entity such as a digital computer with a peripheral device such as a disk drive or magnetic tape data storage device is described by the Small Computer System Interface (SCSI). By way of example, referring to FIG. 1 herein digital computer 100 is configured to exchange data with a SCSI compatible device 120 across a small computer system interface bus carried across cable connection 110.
Referring to FIG. 2 herein, there is illustrated schematically a first example of a conventional small computer system interface configuration. By way of example, digital computer 200 is configured to exchange digital data with a plurality of peripheral devices 204, 205. Peripheral devices 204, 205 may be disk drives, printers, optical-disks, magnetic tape data storage devices or the like, which are SCSI compatible. Processors operating within digital computer 200 requiring to initiate a transfer of data to peripheral devices 204, 205 transfer data across SCSI bus 202 via a host bus adapter 201 and a controller 203.
Referring to FIG. 3 herein, there is illustrated another conventional SCSI configuration comprising a single initiating device such as a digital computer 300 sending and receiving data to and from multiple target devices 301, 302, 303 and 304 across a SCSI bus 305 via controllers 306 and 307.
Referring to FIG. 4 herein there is illustrated schematically, in more detail, the conventional SCSI configuration illustrated in FIG. 2 herein, the SCSI configuration comprising a single initiating device and a single target device. Digital computer 200 includes a memory means which may be logically sub-divided into a user memory area and a memory area 400 allocated to an operating system kernel (OS/kemel). Conventionally, it is known to generate application software which is configurable to exchange data with a peripheral device 401. Application software 402 may be a computer program for performing back-up operations. Associated with application software 402 is a corresponding respective driver program 403 which is configurable to act as an interface between application software 402 and a SCSI host bus adapter driver program 404. Each application program operating within the memory means of digital computer 200 has a corresponding respective driver program configurable to interface each application program with SCSI host bus adapter card. 405. The host bus adapter card 405 is physically connected to peripheral device 401 via SCSI bus 202. Contained within a memory means of peripheral device 401 is a logical unit 406 configurable to exchange data and commands originated from application program 402 with a SCSI commands block 407.
In conventional SCSI technology, and as described herein, a logical unit is a logical representation of a device such as peripheral device 401. A logical unit is identified by an integer number which is also known herein as a Logical Unit Number (LUN). Each target device logically connected to a SCSI bus has one or more logical units associated with it. A physical device may have up to eight logical units associated with it, each logical unit having a unique identifying integer in the range 0 . . . 7. Each physical device 402 connecting to a SCSI bus has a unique identifier. Hence, each logical unit within a physical device 402 is also uniquely addressable by, for example, application program 402 resident within the OS/kernet of digital computer 200 by specifying the unique identifier of the device, and the logical unit identifying integer within the physical device.
Referring to FIG. 5 herein, there is illustrated schematically a SCSI configuration comprising a plurality of user applications resident within an OS/kemel 400 of digital computer 200. In addition to a data back-up program 402 it is known to configure an application program 500 within the OS/kemel having a corresponding respective driver program 501 which is also configurable to exchange data with device 401 across the SCSI bus 202. Application program 500 may be configured to, for example, check the status of device 401. However, if the device 401 is a serial device such as a magnetic tape data storage device then if more than one application program attempts to send commands to the serial tape device 401 then dashes can occur at the software or physical SCSI level affecting an operation of the serial tape device 401.
It is Important to be able to interrogate serial devices in a xe2x80x9ctransparentxe2x80x9d fashion, that is to say, to obtain data, for example, data concerning the performance of the serial device, without affecting its performance.
Specific embodiments and methods according to the present invention aim to provide a means for interrogating serial small computer system interface devices in a manner which leaves their normal mode of operation unaffected and thereby enables the performance of such devices to be monitored, without reconfiguration or significant disruption of the basic functionality of those devices.
Additionally, it is a further aim of the present invention to enable modifications to such devices to be accomplished more easily.
According to first aspect of the present invention there is provided a device configurable to exchange data with a digital computer across a small computer system interface bus, said device comprising:
a first logical unit (609); and
a second logical unit (610);
characterized in that said second logical unit (610) is configured for receiving a command from said digital computer across said interface bus (608), said command requesting data concerning a status of said device, wherein said receipt of said command requesting said status data is received by said second logical unit substantially independently of an operation of said first logical unit.
According to a second aspect of the present invention there is provided a method for querying a status of a device configurable to exchange data with a digital computer across a small computer system interface bus the method comprising the steps of:
creating a first logical unit within said device;
creating a second logical unit within said device;
characterized by sending a command from said digital computer to said second logical unit across said interface bus requesting status data concerning said device, wherein said step of requesting said status data occurs substantially independently of an operation of said first logical unit.
According to a third aspect of the present invention there is provided a computing entity comprising:
a digital computer device;
a small computer system interface bus, wherein said digital computer device is connected to a first end of said interface bus; and
at least one peripheral device connected to a second end of said interface bus;
said computer entity characterized by further comprising:
a first logical unit logically located substantially within said peripheral device;
a second logical unit logically located substantially within said peripheral device, wherein said second logical unit is configurable to control a mode of operation of said first logical unit, for performance of status diagnostic operations of said peripheral device.
According to fourth aspect of the present invention there is provided a method of interrogating a serial small computer system interface compatible device having first and second logical units without affecting a normal mode of operation of said device, said method comprising the steps of:
sending a test signal to said second logical unit of said device;
in response to said test signal, determining a status of said device;
said second logical unit sending a control signal to said first logical unit for sending said first logical unit from an initial on-line condition in which said first logical unit receives commands over said small computer system Interface for said normal mode of operation of said device, to an off-line condition in which said first logical unit communicates diagnostic data over said small computer system interface;
receiving a command signal at said first logical unit said command signal requesting diagnostic data describing parameters of said device;
said first logical unit performing a set of commanded operations in said device for determining said diagnostic data, in response to said received signals;
said first logical unit returning said device to said initial state;
returning said first logical unit to an online condition; and
said second logical unit releasing control of said first logical unit once said device is returned to said initial state.
According to a fifth aspect of the present invention, there is provided a method of interrogating a serial small computer system interface compatible device without affecting a normal mode of operation of said device, said method comprising the steps of:
sending a test signal to a first logical unit of said device;
receiving a read command at said device for reading data from said device;
if said read command is rejected by said device, sending a mode command signal to said device to change a mode of operation of said device;
in response to said mode command signal changing a status of said second logical unit to an off-line status; and
re-sending said read command to said device.